import lookup from "./lookup"
import renderTemp from "./renderTemp";

/**
 * 处理数组，结合renderTemp实现递归
 * 第一个参数：token['#',数组名，tokens]，不是tokens 
 * 这个函数递归调用renderTemp()的次数由data数组的长度决定
 */
export default function parseArray(token, data) {
    // console.log(token, data)
    // 得到整体数据data中的这个数组要使用的部分
    var v = lookup(data, token[1]);
    // console.log(v)
    //定义一个结果字符串
    var resultStr = ''
    // 当v是一个数组时
    v.forEach(element => {
        // 注意：当数据为：a.b的形式时,这里需要补一个“.”属性,
        resultStr += renderTemp(token[2], {
            ...element,
            '.': element
        })
    });
    return resultStr
}